//
//  APIError.h
//  SmartLock
//
//  Created by qq on 2019/3/30.
//  Copyright © 2019年 yhy. All rights reserved.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

@protocol JSONResponseErrorFilter <NSObject>
+ (id)dictionaryWithResponse:(id)responseObj;// 获取 NSDictionary，如有错误返回错误
+ (id)dataWithResponse:(NSDictionary*)responseDic;// 获取 data 字段,如有错误返回错误
@end

@interface APIError : NSObject<JSONResponseErrorFilter>
+ (NSError*)dataNilError;       // 911:服务器返回结果中缺失 data 字段
+ (NSError*)dataFormatError;    // 912:服务器返回的 data 字段无法解析
+ (NSError*)dataParseError;     // 913:服务器返回的数据无法解析为指定 JSONModel
+ (NSError*)noJsonResponseError;// 914:服务器返回非 JSON 数据（可能是字符串或html）
+ (NSError*)noLoginError;       // 915:请登录
+ (NSError*)tokenInvalid;       // 916:token 无效
+ (NSError*)parameterCannotSupportError; // 917:参数不支持异常
+ (NSError*)http404Error;       // 918:HTTP 404 错误
+ (NSError*)statusFailedError;  // 919:后台返回状态异常
@end

NS_ASSUME_NONNULL_END
